Workflow management generally relates to managing the execution of a series of processes designed to accomplish some work. Processes in a workflow are made up of a sequence of tasks that may depend on one another and the execution of the tasks may need to take these dependencies into account in order to accomplish the desired work. In one sense, workflows are abstract representations of patterns of activities executed according to a business context determined by, among other things, the types of resources involved, the roles of the individuals asked to execute the tasks and the types of tasks involved.
In an enterprise context, workflow management is used to accomplish a wide variety of business activities such as approving purchases, hiring, sales, marketing and so on. Such activities will have a security component at least because it may involve accessing sensitive information or restrictions on appropriate permissions needed to take certain actions. Enterprise access control applications typically manage permissions and access based on the statically pre-determined role of a user. However, in a dynamic workflow situation, certain tasks or activities may be delegated or otherwise received by individuals who may not have all the access or authority needed to accomplish the tasks they have been assigned based solely on their static role definition. Thus, the task may be left incomplete mainly because a user is allowed to access the task, but may not be allowed to work on the task. In other words, the user may not have all the permissions needed to perform the necessary tasks to complete the activity that is in their workflow. Therefore, a method and system is required for providing such permission to perform action necessary to complete the business process.